<?php
include_once('inc/functions.inc.php');

if (!isEmpty(getParam('operation'))) {

    switch (getParam('operation')) {
        case 'e': {
                fntCxpProveedoresEmpresas($db);
                break;
            }
        case 'b': {
                fntCxpProveedoresBusqueda($db, "divCxpProveedores", "<b>Seleccione proveedor</b>");
                break;
            }
        case 'bc': {
                fntCxpProveedoresBusquedaContenido($db);
                break;
            }
        case 'c': {
                fntCxpProveedoresContenido($db);
                break;
            }
        case 'cc': {
                contabilidad_getCuentasUltimoNivel($db);
                break;
            }
        case 's': {
                fntProveedoresProveedor($db);
                break;
            }
        case 'd': {
                fntCxpProveedoresEliminar($db);
                break;
            }
    }
    die();
}

function fntCxpProveedoresEmpresas($db) {
    fntEmpresasDraw($db, "sltCxpProveedoresEmpresas");
    ?>
    <script type="text/javascript">
        $("select[name='sltCxpProveedoresEmpresas']").change( function() {
            $("input[name='txtProveedoresId']").val("");
            fntCxpProveedoresContenido();
        });
    </script>
    <?php
}

function fntCxpProveedoresBusqueda($db, $strNombre, $strButtonLabel) {
    $id = getParam("sltCxpProveedoresEmpresas");
    ?>
    <div id="<?php print $strNombre; ?>Dialog" title="Buscar proveedor" style="display: none;">
        <div id="<?php print $strNombre; ?>Busqueda" style="width: 100%; float: left;">
            <div style="width: 50%; float: left;">
                <b>Nit:</b>
                <input type="text" name="<?php print $strNombre; ?>Nit">
            </div>
            <div style="width: 50%; float: left;">
                <b>Nombre empresa:</b>
                <input type="text" name="<?php print $strNombre; ?>Nombre">
            </div>
        </div>
        <div style="width: 100%; float: left; text-align: center;">
            <button id="<?php print $strNombre; ?>Buscar1" type="button">Buscar</button>
            <hr>
        </div>
        <div id="<?php print $strNombre; ?>Resultado" style="width: 100%; float: left;"></div>
    </div>
    <div style="width: 100%; float: left; text-align: left;">
        <button id="<?php print $strNombre; ?>Button" type="button"><?php print $strButtonLabel; ?></button>
        <button id="nuevoproveedor" type="button"><strong>Nuevo Proveedor</strong></button>
    </div>
    <script type="text/javascript" language="javascript">
        $( function() {
            $("#nuevoproveedor").button({icons:{primary:"ui-icon-document"}}).click(function(){
                $("#txtProveedoresNit").val("");
                $("#txtProveedoresId").val("");
                fntCxpProveedoresContenido();
            });
            $("#<?php print $strNombre; ?>Button").button({
                icons: {
                    primary: "ui-icon-search"
                }
            }).click( function () {
                fntCxpProveedoresBuscarContenido('<?php print $strNombre; ?>');
            });
            $("#<?php print $strNombre; ?>Buscar1").button({
                icons: {
                    primary: "ui-icon-search"
                }
            }).click( function () {
                fntCxpProveedoresBuscarContenido('<?php print $strNombre; ?>');
            });        
        });
    </script>
    <?php
}

function fntCxpProveedoresBusquedaContenido($db) {

    //drawDebug($_POST);
    $intEmpresa = getParam("sltCxpProveedoresEmpresas");
    $divNombre = getParam("divNombre");
    $strNit = getParam("nit");
    $strNombre = getParam("nombre");
    $strWhere = "";

    if (!empty($strNit)) {
        $strWhere .= " AND NIT LIKE '%{$strNit}%' ";
    }
    if (!empty($strNombre)) {
        $strWhere .= " AND RAZON_SOCIAL LIKE '%{$strNombre}%' ";
    }
    $strQuery = "SELECT *
                 FROM   cllg_cp_proveedor
                 WHERE  FK_EMPRESA = '{$intEmpresa}' 
                 {$strWhere} 
                 ORDER  BY RAZON_SOCIAL";
    $qTMP = $db->query($strQuery);
    $intNumRows = $db->num_rows;

    if ($intNumRows > 0) {
        ?>
        <div style="width: 500px;">
            <?php
            while ($rTMP = $db->fetch_array($qTMP)) {
                ?>
                <div style="width: 250px; height: 60px; float: left; cursor: pointer;" 
                     onclick="fntCxpProveedoresSetDatos('<?php print $divNombre; ?>', '<?php print $rTMP["NIT"]; ?>');">
                    <b>Nit:&nbsp;</b><?php print $rTMP["NIT"]; ?><br />
                    <b>Nombre:&nbsp;</b><?php print $rTMP["RAZON_SOCIAL"]; ?><br />
                </div>
                <?php
            }
            ?>
        </div>
        <?php
    } else {
        ?>

        <?php
    }
    $db->free_result($qTMP);
}

function fntCxpProveedoresContenido($db) {
    $arrInfo = array();
    $intEmpresa = getParam("sltCxpProveedoresEmpresas");
    $intNit = getParam("txtProveedoresId");


    $strQuery = "SELECT MAX(CODIGO) AS CODIGO FROM cllg_cp_proveedor WHERE FK_EMPRESA = '{$intEmpresa}'";
    $qTMP = $db->query($strQuery);
    $intNumRows = $db->num_rows;    
    if ($intNumRows > 0) {
        while ($rTMP = $db->fetch_array($qTMP)) {
            $rTMP["CODIGO"] = $rTMP["CODIGO"] + 1;
            $arrInfo["CODIGO"] = $rTMP["CODIGO"];
        }
    }
    $db->free_result($qTMP);

    $strQuery = "SELECT * FROM cllg_cp_proveedor WHERE nit = '{$intNit}' AND FK_EMPRESA = '{$intEmpresa}'";
    $qTMP = $db->query($strQuery);
    $intNumRows = $db->num_rows;
    if ($intNumRows > 0) {
        while ($rTMP = $db->fetch_array($qTMP)) {
            $arrInfo=$rTMP;            
        }
    }
    $db->free_result($qTMP);

    if (isset($arrInfo["FK_CTA_CONTA_CP"])) {
        $strQuery = "SELECT * FROM cllg_contab_cuenta WHERE fk_empresa = '{$intEmpresa}' AND codigo = '{$arrInfo["FK_CTA_CONTA_CP"]}'";
        $qTMP = $db->query($strQuery);
        $intNumRows = $db->num_rows;
        if ($intNumRows > 0) {
            while ($rTMP = $db->fetch_array($qTMP)) {
                $arrInfo["FK_CTA_CONTA_CP_NOMBRE"] = $rTMP["codigo"] . " - " . $rTMP["nombre"];
            }
        }
        $db->free_result($qTMP);
    }
    if (isset($arrInfo["FK_CTA_CONTA_IVA"])) {

        $strQuery = "SELECT * FROM cllg_contab_cuenta WHERE fk_empresa = '{$intEmpresa}' AND codigo = '{$arrInfo["FK_CTA_CONTA_IVA"]}'";
        $qTMP = $db->query($strQuery);
        $intNumRows = $db->num_rows;
        if ($intNumRows > 0) {
            while ($rTMP = $db->fetch_array($qTMP)) {
                $arrInfo["FK_CTA_CONTA_IVA_NOMBRE"] = $rTMP["codigo"] . " - " . $rTMP["nombre"];
            }
        }
        $db->free_result($qTMP);
    }
    ?>
    <div style="width: 500px; height: 30px; float: left;">&nbsp;</div>
    <div style="width: 220px; height: 30px; float: left;"><b>Codigo</b></div>
    <div style="width: 280px; height: 30px; float: left;"><input type="text" name="txtProveedoresCodigo" value="<?php print (isset($arrInfo["CODIGO"])) ? $arrInfo["CODIGO"] : ""; ?>" style="width: 300px;" /></div>
    <div style="width: 220px; height: 30px; float: left;"><b>Nombre empresa</b></div>
    <div style="width: 280px; height: 30px; float: left;"><input type="text" name="txtProveedoresRazonSocial" value="<?php print (isset($arrInfo["RAZON_SOCIAL"])) ? $arrInfo["RAZON_SOCIAL"] : ""; ?>" style="width: 300px;" /></div>
    <div style="width: 220px; height: 30px; float: left;"><b>R.T.N</b></div>
    <div style="width: 280px; height: 30px; float: left;"><input type="text" id="txtProveedoresNit" name="txtProveedoresNit" value="<?php print (isset($arrInfo["NIT"])) ? $arrInfo["NIT"] : ""; ?>" style="width: 300px;" /></div>
    <div style="width: 220px; height: 30px; float: left;"><b>Telefono</b></div>
    <div style="width: 280px; height: 30px; float: left;"><input type="text" name="txtProveedoresTelefono" value="<?php print (isset($arrInfo["TELEFONO"])) ? $arrInfo["TELEFONO"] : ""; ?>" style="width: 300px;" /></div>
    <div style="width: 220px; height: 30px; float: left;"><b>Dirección</b></div>
    <div style="width: 280px; height: 30px; float: left;"><input type="text" name="txtProveedoresDireccion" value="<?php print (isset($arrInfo["DIRECCION"])) ? $arrInfo["DIRECCION"] : ""; ?>" style="width: 300px;" /></div>
    <div style="width: 220px; height: 30px; float: left;"><b>Correo electronico</b></div>
    <div style="width: 280px; height: 30px; float: left;"><input type="text" name="txtProveedoresEmail" value="<?php print (isset($arrInfo["EMAIL"])) ? $arrInfo["EMAIL"] : ""; ?>" style="width: 300px;" /></div>
    <div style="width: 220px; height: 30px; float: left;"><b>Dias de credito</b></div>
    <div style="width: 280px; height: 30px; float: left;"><input type="text" name="txtProveedoresDiasCredito" value="<?php print (isset($arrInfo["DIAS_CREDITO"])) ? $arrInfo["DIAS_CREDITO"] : ""; ?>" style="width: 300px;" /></div>
    <div style="width: 220px; height: 30px; float: left;"><b>Contacto</b></div>
    <div style="width: 280px; height: 30px; float: left;"><input type="text" name="txtProveedoresContacto" value="<?php print (isset($arrInfo["CONTACTO"])) ? $arrInfo["CONTACTO"] : ""; ?>" style="width: 300px;" /></div>
    <div style="width: 200px; height: 30px; float: left;"><b>Cuenta contable</b> (cuenta por pagar)</div>
    <div style="width: 20px;  height: 30px; float: left;"><div id="divProveedoresCambioCCCP" style="float: left; margin-right: 0.3em; cursor: pointer;" class="ui-icon ui-icon-transferthick-e-w"></div></div>
    <div style="width: 280px; height: 30px; float: left;">
        <input type="hidden" name="hdnProveedoresCCCP" value="<?php print (isset($arrInfo["FK_CTA_CONTA_CP"])) ? $arrInfo["FK_CTA_CONTA_CP"] : ""; ?>" style="width: 300px;" />
        <input type="text" name="txtProveedoresCCCP" value="<?php print (isset($arrInfo["FK_CTA_CONTA_CP_NOMBRE"])) ? $arrInfo["FK_CTA_CONTA_CP_NOMBRE"] : ""; ?>" style="width: 300px; display: <?php print (isset($arrInfo["FK_CTA_CONTA_CP"])) ? "none" : ""; ?>;" />
        <div id="divProveedoresCCCP"><?php print (isset($arrInfo["FK_CTA_CONTA_CP_NOMBRE"])) ? $arrInfo["FK_CTA_CONTA_CP_NOMBRE"] : ""; ?></div>
        <script type="text/javascript">
            $("input[name='txtProveedoresCCCP']").autocomplete({
                source: "admin_cuentas_x_pagar_proveedores_data.php?operation=cc&sltCuentasEmpresa=<?php print $intEmpresa; ?>",
                minLength: 1,
                select: function( event, ui ) {
                    
                    $("input[name='hdnProveedoresCCCP']").val(ui.item.id);
                    $("#divProveedoresCCCP").html(ui.item.value);
                    $(this).hide();
                    $("#divProveedoresCCCP").show();
                    $("#divCuentaContableCambio").show();
                   
                }
            });
            $("#divProveedoresCambioCCCP").click(function() {
                $("#divProveedoresCCCP").hide();
                $("input[name='txtProveedoresCCCP']").show().select();
            });
        </script>
    </div>
    <div style="width: 200px; height: 30px; float: left;"><b>Cuenta contable</b> (Impuesto)</div>
    <div style="width: 20px;  height: 30px; float: left;"><div id="divProveedoresCambioCCIVA" style="float: left; margin-right: 0.3em; cursor: pointer;" class="ui-icon ui-icon-transferthick-e-w"></div></div>
    <div style="width: 280px; height: 30px; float: left;">
        <input type="hidden" name="hdnProveedoresCCIVA" value="<?php print (isset($arrInfo["FK_CTA_CONTA_IVA"])) ? $arrInfo["FK_CTA_CONTA_IVA"] : ""; ?>" style="width: 300px;" />
        <input type="text" name="txtProveedoresCCIVA" value="<?php print (isset($arrInfo["FK_CTA_CONTA_IVA_NOMBRE"])) ? $arrInfo["FK_CTA_CONTA_IVA_NOMBRE"] : ""; ?>" style="width: 300px; display: <?php print (isset($arrInfo["FK_CTA_CONTA_IVA"])) ? "none" : ""; ?>;" />
        <div id="divProveedoresCCIVA"><?php print (isset($arrInfo["FK_CTA_CONTA_IVA_NOMBRE"])) ? $arrInfo["FK_CTA_CONTA_IVA_NOMBRE"] : ""; ?></div>
        <script type="text/javascript">
            $("input[name='txtProveedoresCCIVA']").autocomplete({
                source: "admin_cuentas_x_pagar_proveedores_data.php?operation=cc&sltCuentasEmpresa=<?php print $intEmpresa; ?>",
                minLength: 1,
                select: function( event, ui ) {
                    
                    $("input[name='hdnProveedoresCCIVA']").val(ui.item.id);
                    $("#divProveedoresCCIVA").html(ui.item.value);
                    $(this).hide();
                    $("#divProveedoresCCIVA").show();
                    $("#divCuentaContableCambio").show();
                   
                }
            });
            $("#divProveedoresCambioCCIVA").click(function() {
                $("#divProveedoresCCIVA").hide();
                $("input[name='txtProveedoresCCIVA']").show().select();
            });
        </script>
    </div>
    <div style="width: 500px; height: 30px; float: left;">&nbsp;</div>
    <div style="width: 500px; height: 30px; float: left; text-align: center;">
        <button id="btnProveedoresGrabar" type="button">Grabar</button>
        <button id="btnProveedoresEliminar" type="button">Eliminar</button>
    </div>
    <script type="text/javascript">
        $( function() {
            $("#btnProveedoresGrabar").button({
                icons: {
                    primary: "ui-icon-disk"
                }
            }).click( function () {
                fntCxpProveedoresGrabar();
            });
            $("#btnProveedoresEliminar").button({
                icons: {
                    primary: "ui-icon-close"
                }
            }).click( function () {
                fntCxpProveedoresEliminar();
            }).button( "<?php print (isset($arrInfo["NIT"])) ? "enable" : "disable"; ?>" );
        });
    </script>
    <?php
}

function contabilidad_getCuentasUltimoNivel($db) {

    $arrResult = array();
    $empresa = getParam("sltCuentasEmpresa");
    $term = getParam("term");
    $strQuery = "SELECT c1.* FROM cllg_contab_cuenta c1
                 LEFT JOIN cllg_contab_cuenta c2 ON(c1.codigo = c2.fk_padre AND c1.fk_empresa = c2.fk_empresa )
                 WHERE (c1.codigo LIKE '%{$term}%' OR c1.nombre LIKE '%{$term}%') 
                 AND    c1.fk_empresa = '{$empresa}'
                 AND    c2.codigo IS NULL";
    $qTMP = $db->query($strQuery);

    if ($rTMP = $db->fetch_array($qTMP)) {

        do {
            $arrTMP = array();
            $arrTMP["id"] = utf8_encode($rTMP["codigo"]);
            $arrTMP["value"] = utf8_encode($rTMP["codigo"] . " - " . $rTMP["nombre"]);

            array_push($arrResult, $arrTMP);
        } while ($rTMP = $db->fetch_array($qTMP));
    }
    $db->free_result($rTMP);

    print json_encode($arrResult);
}

function fntProveedoresProveedor($db) {

    $id = getParam("txtProveedoresId");
    $nit = getParam("txtProveedoresNit");
    $codigo = getParam("txtProveedoresCodigo");
    $razon_social = getParam("txtProveedoresRazonSocial");
    $telefono = getParam("txtProveedoresTelefono");
    $direccion = getParam("txtProveedoresDireccion");
    $email = getParam("txtProveedoresEmail");
    $dias_credito = getParam("txtProveedoresDiasCredito");
    $contacto = getParam("txtProveedoresContacto");
    $cccp = getParam("hdnProveedoresCCCP");
    $cciva = getParam("hdnProveedoresCCIVA");
    $empresa = getParam("sltCxpProveedoresEmpresas");

    if (empty($id)) {
        $strQuery = "SELECT * FROM cllg_cp_proveedor WHERE nit = '{$nit}'";
        $qTMP = $db->query($strQuery);
        $intNumRows = $db->num_rows;
        $db->free_result($qTMP);
        if ($intNumRows == 0) {
            $db->query("INSERT INTO cllg_cp_proveedor (NIT, CODIGO, RAZON_SOCIAL, TELEFONO, DIRECCION, EMAIL, DIAS_CREDITO, CONTACTO, FK_CTA_CONTA_CP, FK_CTA_CONTA_IVA, FK_EMPRESA) VALUES ('{$nit}', '{$codigo}', '{$razon_social}', '{$telefono}', '{$direccion}', '{$email}', '{$dias_credito}', '{$contacto}', '{$cccp}', '{$cciva}', '{$empresa}')");
            ?>
            <div class="ui-widget" style="border: 0px solid white; width: 500px; height: auto; vertical-align: bottom;" align="center">
                <div class="ui-state-highlight ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
                    <span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
                    Datos guardados.
                </div>
            </div>
            <br>
            <?php
        } else {
            ?>
            <div class="ui-widget" style="border: 0px solid white; width: 500px; height: auto; vertical-align: bottom;" align="center">
                <div class="ui-state-error ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
                    <span class="ui-icon ui-icon-alert" style="float: left; margin-right: 0.3em;"></span>
                    Ya existe proveedor.
                </div>
            </div>
            <br>        
            <?php
        }
    } else {
        $db->query("UPDATE cllg_cp_proveedor SET CODIGO = '{$codigo}', RAZON_SOCIAL = '{$razon_social}', TELEFONO = '{$telefono}', DIRECCION = '{$direccion}', EMAIL = '{$email}', DIAS_CREDITO = '{$dias_credito}', CONTACTO = '{$contacto}', FK_CTA_CONTA_CP = '{$cccp}', FK_CTA_CONTA_IVA = '{$cciva}' WHERE NIT = '{$id}'");
        ?>
        <div class="ui-widget" style="border: 0px solid white; width: 500px; height: auto; vertical-align: bottom;" align="center">
            <div class="ui-state-highlight ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
                <span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
                Actualizado.
            </div>
        </div>
        <br>
        <?php
    }
}

function fntCxpProveedoresEliminar($db) {

    $id = getParam("txtProveedoresId");
    $nit = getParam("txtProveedoresNit");
    $codigo = getParam("txtProveedoresCodigo");
    $razon_social = getParam("txtProveedoresRazonSocial");
    $telefono = getParam("txtProveedoresTelefono");
    $direccion = getParam("txtProveedoresDireccion");
    $email = getParam("txtProveedoresEmail");
    $dias_credito = getParam("txtProveedoresDiasCredito");
    $contacto = getParam("txtProveedoresContacto");
    $cccp = getParam("hdnProveedoresCCCP");
    $cciva = getParam("hdnProveedoresCCIVA");
    $empresa = getParam("sltCxpProveedoresEmpresas");

    $strQuery = "SELECT * FROM cllg_cp_factura WHERE FK_PROVEEDOR = '{$nit}' AND FK_EMPRESA = '{$empresa}'";
    $qTMP = $db->query($strQuery);
    $intNumRows = $db->num_rows;
    $db->free_result($qTMP);
    if ($intNumRows == 0) {
        $db->query("DELETE FROM cllg_cp_proveedor WHERE NIT = '{$nit}' AND FK_EMPRESA = '{$empresa}'");
        ?>
        <div class="ui-widget" style="border: 0px solid white; width: 500px; height: auto; vertical-align: bottom;" align="center">
            <div class="ui-state-highlight ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
                <span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
                Eliminado.
            </div>
        </div>
        <br>
        <?php
    } else {
        ?>
        <div class="ui-widget" style="border: 0px solid white; width: 500px; height: auto; vertical-align: bottom;" align="center">
            <div class="ui-state-error ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
                <span class="ui-icon ui-icon-alert" style="float: left; margin-right: 0.3em;"></span>
                El proveedor tiene movimientos.
            </div>
        </div>
        <br>        
        <?php
    }
}
?>